// 泛型：是指附属于函数、类、接口、类型别名之上的类型
function take<T>(arr: T[], n: number): T[] {
  if (n >= arr.length) {
    return arr;
  }

  const newArr: T[] = [];
  for (let i = 0; i < n; i++) {
    newArr.push(newArr[i]);
  }

  return newArr;
}

// console.log(take<number>([2, 3, 4, 5, 65], 3));
console.log(take([2, 3, 4, 5, 65], 3)); // 类型推导泛型的类型，如果无法完成推导又没传递类型，默认返回空对象类型

export {};
